home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 52
/
Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso
/
Aminet
/
comm
/
irc
/
epic4-mos.lha
/
share
/
epic
/
script
/
files
< prev
next >
Wrap
Text File
|
2002-09-18
|
1KB
|
62 lines
/*
* FILES script -- complements the new file functions.
* Written by Jeremy Nelson -- EPIC project
*
* These aliases are not anywhere near as fast as /exec'ing the
* c programs, but they are here to illustrate the usage of the fns.
*/
/* dump a file out to the screen w/o using /exec */
alias cat {
@ fd = open($0 R)
while (!eof($fd)) { echo $read($fd) }
@ close($fd)
}
/* Search for a string in a group of files */
/* This is, of course, case insensitive */
alias grep {
for x in ($1-) {
@ fd = open($x R)
while (!eof($fd)) {
@ line = read($fd)
if (match(*$0* $line))
{echo $x: $line}
}
@close($fd)
}
}
/* Write a line to a file w/o using the logging features */
alias log_it {
@ fd = open($0 W)
@ write($fd $1-)
@ close($fd)
}
#
# Call as /exclude filename pattern
#
alias exclude {
@ :reg = regcomp($1-)
@ :rd = open($0 R)
@ :wd = open($0.new W)
@ line = read($rd)
do
{
if (regexec($reg $line)) {
@ write($wd $line)
}
@ line = read($rd)
} while (!eof($rd))
@ close($rd)
@ close($wd)
@ regfree($reg)
@ unlink($0)
@ rename($0.new $0)
}